package com.wxy.ej.flow.utils;


import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexUtils {

    /**
     * 正则表达式 查找匹配的字符串
     * @param withinText 字符串
     * @param regString 正则表达式
     * @param index 提取正则匹配到字符串的哪一部分 0整串，1第一个()的内容，2第二个()...
     * @return 匹配值列表
     */
    public static List<String> searchMatch(String withinText, String regString, int index) {
        List<String> resList = new ArrayList<>();
        String value = null;
        Pattern pattern = Pattern.compile(regString);
        Matcher matcher = pattern.matcher(withinText);
        if (matcher.find()) {
            matcher.reset();
            while (matcher.find()) {
                //System.out.println("匹配到的整串-->" + matcher.group(0));
                value = matcher.group(index);
                //System.out.println("整串中指定的子串-->" + value);
                resList.add(value);
            }
        }
        return resList;
    }

}
